"""
修复 ChromeDriver 路径问题的辅助脚本
如果自动下载失败，可以使用此脚本来手动检查和修复
"""
import os
from webdriver_manager.chrome import ChromeDriverManager


def find_chromedriver():
    """查找 ChromeDriver 的位置"""
    print("="*60)
    print("正在查找 ChromeDriver...")
    print("="*60)
    
    try:
        manager_path = ChromeDriverManager().install()
        print(f"\nWebDriver Manager 返回路径: {manager_path}")
        
        if os.path.exists(manager_path):
            print(f"✅ 路径存在: {manager_path}")
            
            if manager_path.endswith('.exe'):
                print("✅ 路径正确指向 chromedriver.exe")
                return manager_path
            else:
                print("⚠️  路径不是 .exe 文件，正在查找正确的 chromedriver.exe...")
                
                # 查找 chromedriver.exe
                driver_dir = os.path.dirname(manager_path)
                if os.path.exists(driver_dir):
                    # 检查同一目录
                    exe_path = os.path.join(driver_dir, 'chromedriver.exe')
                    if os.path.exists(exe_path):
                        print(f"✅ 找到 chromedriver.exe: {exe_path}")
                        return exe_path
                    
                    # 递归查找
                    print(f"\n正在搜索目录: {driver_dir}")
                    for root, dirs, files in os.walk(driver_dir):
                        if 'chromedriver.exe' in files:
                            found_path = os.path.join(root, 'chromedriver.exe')
                            print(f"✅ 找到 chromedriver.exe: {found_path}")
                            return found_path
        else:
            print(f"❌ 路径不存在: {manager_path}")
            
    except Exception as e:
        print(f"❌ 错误: {e}")
    
    print("\n" + "="*60)
    print("未找到 ChromeDriver，请手动下载：")
    print("1. 访问: https://googlechromelabs.github.io/chrome-for-testing/")
    print("2. 下载与您的 Chrome 版本匹配的 chromedriver.exe")
    print("3. 将 chromedriver.exe 放在以下任一位置：")
    print("   - 项目根目录")
    print("   - 系统 PATH 环境变量中")
    print("="*60)
    
    return None


if __name__ == '__main__':
    find_chromedriver()

